CSV to Beancount Converter
Convert any CSV bank statement or transaction export to Beancount double-entry ledger format. Interactive column mapping, configurable accounts, runs in your browser.
1Upload CSV
Upload CSV or drag here
Bank statement, credit card export, expense tracker dump…CSV to Beancount Converter Tutorial
What is Beancount?
Beancount is a plain-text, double-entry accounting system. Every transaction has two entries that must balance — money doesn't just appear or vanish, it moves from one account to another. It's the geekiest, most auditable way to do personal or small-business finance.
2026-04-01 * "Trader Joe's" "Groceries" Assets:Bank:Checking -45.67 USD Expenses:Food:Groceries
Why This Tool?
Banks export CSV. Beancount wants its own syntax. Hand-converting 500 transactions is tedious and error-prone. This tool maps your CSV columns to Beancount fields and spits out a ready-to-bean-check ledger.
Workflow
- Upload your bank's CSV export
- Pick which columns are Date, Amount, Payee, Description
- Tick "Invert sign" if your CSV has
45.67for expenses (bank CSVs are usually signed already with negative for debits) - Set account names — the source account (your bank) and the default expense/income accounts
- Download the
.beanfile, drop it into your ledger, runfavaorbean-check
Auto-detection Features
- Delimiter — tries
,,;, tab,| - Encoding — UTF-8, GBK (for Chinese banks), GB18030, Latin-1
- Date format — YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, DD.MM.YYYY
Compatible CSV Sources
Any bank that gives you a CSV. Confirmed working with: Chase, Bank of America, Wells Fargo, Wise, Revolut, Monzo, N26, Deutsche Bank, ING, 招商银行, 支付宝 (for just the raw transactions), 工商银行.